package com.eastfair.venueservice.dto;

import com.eastfair.venuebooking.enumeration.ExhibitionExhibitionTypeEnum;
import com.eastfair.venuebooking.enumeration.ExhibitionIndustryEnum;
import com.eastfair.venuebooking.enumeration.ExhibitionStateEnum;
import com.eastfair.venueservice.enumeration.ExhibitionManageExhibitionTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 实体类
 * 综合服务展会
 * </p>
 *
 * @author linan
 * @since 2023-04-04
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = false)
@Builder
@ApiModel(value = "ExhibitionManagePageQuery", description = "综合服务展会")
public class ExhibitionManagePageQuery implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 场馆展会id
     */
    @ApiModelProperty(value = "场馆展会id")
    private Long vbExhibitionId;
    /**
     * 是否启用（确认状态）：1是 已确认；0否 未确认
     */
    @ApiModelProperty(value = "是否启用（确认状态）：1是 已确认；0否 未确认")
    private Integer isEnabled;
    /**
     * 是否删除：1是；0否
     */
    @ApiModelProperty(value = "是否删除：1是；0否")
    private Integer isDeleted;
    /**
     * 项目id
     */
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    /**
     * 子系统id
     */
    @ApiModelProperty(value = "子系统id")
    private Long subsystemId;
    /**
     * 租户id
     */
    @ApiModelProperty(value = "租户id")
    private Long tenantId;
    /**
     * 展会编号
     */
    @ApiModelProperty(value = "展会编号")
    private String exhibitionNo;
    /**
     * 展会名称
     */
    @ApiModelProperty(value = "展会名称")
    private String exhibitionName;
    /**
     * 展览开始时间
     */
    @ApiModelProperty(value = "展览开始时间")
    private LocalDateTime exhibitionStartTime;
    /**
     * 展览结束时间
     */
    @ApiModelProperty(value = "展览结束时间")
    private LocalDateTime exhibitionEndTime;
    /**
     * 布展开始时间
     */
    @ApiModelProperty(value = "布展开始时间")
    private LocalDateTime arrangementStartTime;
    /**
     * 布展结束时间
     */
    @ApiModelProperty(value = "布展结束时间")
    private LocalDateTime arrangementEndTime;
    /**
     * 撤展开始时间
     */
    @ApiModelProperty(value = "撤展开始时间")
    private LocalDateTime dismantlingStartTime;
    /**
     * 撤展结束时间
     */
    @ApiModelProperty(value = "撤展结束时间")
    private LocalDateTime dismantlingEndTime;
    /**
     * 展前折扣开始时间
     */
    @ApiModelProperty(value = "展前折扣开始时间")
    private LocalDateTime preDiscountStartTime;
    /**
     * 展前折扣结束时间
     */
    @ApiModelProperty(value = "展前折扣结束时间")
    private LocalDateTime preDiscountEndTime;
    /**
     * 现场折扣开始时间
     */
    @ApiModelProperty(value = "现场折扣开始时间")
    private LocalDateTime onDiscountStartTime;
    /**
     * 现场折扣结束时间
     */
    @ApiModelProperty(value = "现场折扣结束时间")
    private LocalDateTime onDiscountEndTime;
    /**
     * 展会类型 #{SELF_EXHIBITION:自办展;GUEST_EXHIBITION:客展}
     */
    @ApiModelProperty(value = "展会类型 #{SELF_EXHIBITION:自办展;GUEST_EXHIBITION:客展}")
    private ExhibitionManageExhibitionTypeEnum exhibitionType;
    /**
     * 所属行业 #{INDUSTRY_ONE:农林渔牧;INDUSTRY_TWO:工业智造;INDUSTRY_THREE:新兴产业;INDUSTRY_FOUR:美好生活;OTHER:其他}
     */
    @ApiModelProperty(value = "所属行业 #{INDUSTRY_ONE:农林渔牧;INDUSTRY_TWO:工业智造;INDUSTRY_THREE:新兴产业;INDUSTRY_FOUR:美好生活;OTHER:其他}")
    private ExhibitionIndustryEnum industry;
    /**
     * 中文简称
     */
    @ApiModelProperty(value = "中文简称")
    private String exhibitionShortName;
    /**
     * 英文名称
     */
    @ApiModelProperty(value = "英文名称")
    private String exhibitionEnName;
    /**
     * 英文简称
     */
    @ApiModelProperty(value = "英文简称")
    private String exhibitionEnShortName;
    /**
     * 主办
     */
    @ApiModelProperty(value = "主办")
    private String sponsorName;
    /**
     * 承办
     */
    @ApiModelProperty(value = "承办")
    private String undertakerName;
    /**
     * 预定面积
     */
    @ApiModelProperty(value = "预定面积")
    private Integer reserveArea;
    /**
     * 预期人数
     */
    @ApiModelProperty(value = "预期人数")
    private Integer expectViewer;
    /**
     * logo地址
     */
    @ApiModelProperty(value = "logo地址")
    private String logoUrl;
    /**
     * 价目表ID
     */
    @ApiModelProperty(value = "价目表ID")
    private Long priceListId;
    /**
     * 展会介绍
     */
    @ApiModelProperty(value = "展会介绍")
    private String remark;
    /**
     * 官网地址
     */
    @ApiModelProperty(value = "官网地址")
    private String exhibitionWebsite;
    /**
     * 展会状态 #{STATE_ONE:无状态;STATE_TWO:销售商机;STATE_THREE:报价确认;STATE_FOUR:活动确认;STATE_FIVE:创立合同;STATE_SIX:合同付款;STATE_SEVEN:活动结算;STATE_EIGHT:活动结束;STATE_NINE:其他状态}
     */
    @ApiModelProperty(value = "展会状态 #{STATE_ONE:无状态;STATE_TWO:销售商机;STATE_THREE:报价确认;STATE_FOUR:活动确认;STATE_FIVE:创立合同;STATE_SIX:合同付款;STATE_SEVEN:活动结算;STATE_EIGHT:活动结束;STATE_NINE:其他状态}")
    private ExhibitionStateEnum state;
    /**
     * 同步状态：1已同步；0未同步
     */
    @ApiModelProperty(value = "同步状态：1已同步；0未同步")
    private Integer syncState;
    /**
     * 场馆预定展会类型 #{EXHIBITION:展会;MEETING:会议;FORUM:论坛;OTHER:其他}
     */
    @ApiModelProperty(value = "场馆预定展会类型 #{EXHIBITION:展会;MEETING:会议;FORUM:论坛;OTHER:其他}")
    private ExhibitionExhibitionTypeEnum venueExhibitionType;

}
